﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace NetalBase.Base
{
	public interface IAutomatonBase
	{
		string StringId { get; }

		IList<Action> Events2RelatedAutomata { get; }

		IList<Action> EventsQueue { get; }

		IStateBase State { get; }

		void ToNextState(string eventName);

		void CallCurrentStateAction();

		bool InFinalState { get; }

		void ProcessRelatedEvents();
	}
}
